草庐IT

MySQL IF THEN 在 WHERE 子句中

全部标签

php - Laravel 可选的 WHERE 子句

有没有办法在Laravel中实现可选的WHERE,这是我的查询$people=\App\people::query()->select('people.name','people.username','price','service','people.city','people.streetaddress','people.postalcode',DB::raw("GROUP_CONCAT(DATE_FORMAT(datetime,'%H:%i'))astimes"))->groupBy('people')->leftjoin('services','people.id','=','s

php - mysql 在同一个查询上有和 where 子句

这是我的代码:$sqlz="SELECTt1.user_id,t2.status,t2.emailFROMcoveragest1LEFTJOINuserst2ONt1.user_id=t2.user_idGROUPBYt1.user_idHAVINGCOUNT(t1.user_id)=".$value;我想添加这个“WHEREusers.emailISNOTNULL”当我添加它时,它返回一个白页/没有结果。我知道事实上数据库中至少有200个结果包含电子邮件并符合该条件。这是我所做的不起作用的示例:$sqlz="SELECTt1.user_id,t2.status,t2.emailFRO

mysql - SELECT WHERE field!=value 在mysql中是怎么做的?

我找不到答案,因为不在谷歌中搜索mysql是一场噩梦(即使有引号)。我需要这样查询:SELECT*FROMtableWHEREfield=valueANDfield2!=value2ANDfield3!=value3它是如何实现的?有可能吗? 最佳答案 SELECT*FROMtableWHERE((field=value)AND(field2value2)AND(field3value3))如果你正在处理NULL,你必须做两件事:使用SETANSI_NULLSON将NULL值声明为虚拟值。SQL无法比较空值。这样做:SET@valu

php - MySQL删除order by子句前的空格

我有一张满是“标题”的表格,我想按标题排序。问题是他们中的很多人在标题前都有一个空白空间。我正在考虑编写一个php脚本来解决所有问题(super简单),但我很好奇我该怎么做:SELECT*FROMproductsORDERBYtitle但同时修剪标题,使其不会在空白处排序。全部在同一个查询中而不更改数据。上帝,我希望我说得有道理。所以我真的在寻找一个mysql解决方案。对于它的值(value),我使用Zend_Db,所以使用它的解决方案会更好,但我可以直接管理MySQL。 最佳答案 您可以使用TRIM功能:SELECTTRIM(ti

php - 我们可以在不等于的情况下使用 whereIn 子句吗

我需要做以下事情Model::select('column')->whereIn('column','!=',array)->first();那么我怎样才能做到这一点。任何建议谢谢。 最佳答案 您可以使用whereNotIn而不是whereIn。像这样:Model::select('column')->whereNotIn('column',array(1,2,3))->first(); 关于php-我们可以在不等于的情况下使用whereIn子句吗,我们在StackOverflow上找到

mysql - 个别参数或构建 Where 子句

我正在构建一个对象来在我的数据库中搜索订单。用户可以设置许多可能的参数,并且他们可以为每次搜索设置任意数量的参数。我已经创建了setter方法来收集搜索所需的所有参数。我的问题是这样的。什么是“最佳实践”存储参数,并在调用doSearch方法时构建WHERE子句在设置参数时构建WHERE子句我想了解任何建议背后的原因。请注意,每次搜索都会实例化该对象,因此我不必担心使用不同参数进行第二次搜索。 最佳答案 您应该将订单搜索代码与构建SQL的代码分开。SQL应该构建在OrderSearch类的派生(或Strategy派生)中。一旦进行了

java - 带有 where 子句的 SQL select 语句

如果没有硬编码值,我将如何编写此sql语句?resultSet=statement.executeQuery("select*frommyDatabase.myTablewherename='john'");//thisworks宁愿有这样的东西:Stringname="john";resultSet=statement.executeQuery("select*frommyDatabase.myTablewherename="+name);//Unknowncolumn'john'in'whereclause'at//sun.reflect.NativeConstructorAcce

zend-framework - 多重/嵌套 "select where"与 Zend_Db_Select

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:GroupingWHEREclauseswithZend_Db_Table_Abstract我需要创建这样的东西:selectnamefromtablewhereactive=1AND(nameLIKE'bla'ORdescriptionLIKE'bla')第一部分很简单:$sqlcmd=$db->select()->from("table","name")->where("active=?",1)现在是棘手的部分。我怎样才能嵌套?我知道我可以写->orWhere("nameLIKE?ORdescriptio

使用 WHERE 更新 MySQL 交叉表

下面是一个简单的查询,用于使用来自helper的数据更新表product。UPDATEproductpINNERJOINhelperhONp.productcode=h.productcodeSETp.picture=h.picture;但如果我在末尾添加WHEREp.gotpicture=0以仅更新p.gotpicture=0的记录而不是整个表,则查询更新0行。为什么? 最佳答案 我有测试人员,它对我来说工作正常。但是你可以测试这些:UPDATEproductp,helperhSETp.picture=h.pictureWHERE

mysql - 如何在使用 "group by"子句时优化 mysql 中的查询?

我正在使用以下查询,如果按“主管”分组,它大约需要52秒,否则它会在2或3秒内完成:SELECTSQL_CALC_FOUND_ROWSMONTHNAME(o.sale_on)ASDATE,SUM(od.current_status_id=1)ASsales,IFNULL(SUM(CASEWHENod.current_status_id=2ORod.current_status_id=3THEN(SELECTSUM(amount)FROMorder_refund_chargebackWHEREorder_detail_id=od.order_detail_id)END),0)AStota